This invention relates to integrated circuits, and more particularly, to integrated circuits and image and video compression methods.
Recently, Digital Still Cameras (DSCs) have become a very popular consumer appliance appealing to a wide variety of users ranging from photo hobbyists, web developers, real estate agents, insurance adjusters, photo-journalists to everyday photography enthusiasts. Recent advances in large resolution CCD arrays coupled with the availability of low-power digital signal processors (DSPs) has led to the development of DSCs that come quite close to the resolution and quality offered by traditional film cameras. These DSCs offer several additional advantages compared to traditional film cameras in terms of data storage, manipulation, and transmission. The digital representation of captured images enables the user to easily incorporate the images into any type of electronic media and transmit them over any type of network. The ability to instantly view and selectively store captured images provides the flexibility to minimize film waste and instantly determine if the image needs to be captured again. With its digital representation the image can be corrected, altered, or modified after its capture. U.S. Pat. No. 5,528,293 and U.S. Pat. No. 5,412,425 disclose aspects of digital still camera systems including storage of images on memory cards and power conservation for battery-powered cameras.
Further, DSCs can be extended to capture video clips (short video sequences) and to compress (sequences of) images with block-based methods such as JPEG or JPEG2000. Block-based methods typically decompose an image into macroblocks with each macroblock containing a certain number of 8×8 blocks, depending upon the chroma-format used. For example, in the case of 4:2:0 chroma-format a macroblock is made up of four 8×8 luminance blocks and two 8×8 chrominance blocks. FIGS. 2d-2e depict functions and blocks of a digital camera system. JPEG provides compression by transforming the 8×8 blocks into the frequency domain with an 8×8 DCT (discrete cosine transform) and then quantizing the DCT coefficient blocks, scanning the 8×8 quantized coefficients into a 1-D sequence, and variable length coding (VLC) the sequence. For predictive coding in which motion compensation (MC) is involved, inverse-quantization and IDCT (inverse DCT) are needed for the feedback loop. The quantization is a lossy step, and the inverse quantization does not recover the information loss.
In contrast to JPEG, JPEG2000 provides a 20% compression advantage, both lossy and lossless compression, enables progressive transmission by resolution (which can generate a small image from the code for the full size image), and facilitates scalable video with respect to resolution, bit-rate, color component, or position with transcoding by using Motion JPEG2000. See, Christopoulos et al, The JPEG2000 Still Image Coding System: an Overview, 46 IEEE Trans. Consuer Elect. 1103 (2000).
However, JPEG2000 requires significantly more computation and memory to encode images than JPEG; indeed, JPEG typically requires 10× the computation and 256× the memory for interim data storage during compression. JPEG2000 encoders running in embedded devices are particularly sensitive to memory-hungry applications. That is, JPEG2000 has a problem of large memory demand.